package org.tinygroup.parsedsql.base;

import org.tinygroup.parsedsql.exception.ParsedSqlException;



/**
 * 支持的数据库类型.
 *
 * @author renhui
 */
public enum DatabaseType {

    H2, MySQL, Oracle, SQLServer, DB2, PostgreSQL;

    /**
     * 获取数据库类型枚举.
     *
     * @param databaseProductName 数据库类型
     * @return 数据库类型枚举
     */
    public static DatabaseType valueFrom(final String databaseProductName) {
        for (DatabaseType databaseType : values()) {
            if (databaseProductName.toLowerCase().contains(databaseType.name().toLowerCase())) {
                return databaseType;
            }
        }
        throw new ParsedSqlException("Can not support database type [{0}].", databaseProductName);

    }
}
